package com.lv.suyiyong.hfr.adapter

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.LinearLayout
import androidx.recyclerview.widget.RecyclerView
import com.blankj.utilcode.util.SizeUtils
import com.bumptech.glide.Glide
import com.lv.suyiyong.hfr.R

/**
 * 作者： ygx
 * 创建日期：2025/8/21 下午4:58
 * 签名： 天行健，君子以自强不息；地势坤，君子以厚德载物。
 * -    _              _           _     _   ____  _             _ _
 * -   / \   _ __   __| |_ __ ___ (_) __| | / ___|| |_ _   _  __| (_) ___
 * -  / _ \ | '_ \ / _` | '__/ _ \| |/ _` | \___ \| __| | | |/ _` | |/ _ \
 * - / ___ \| | | | (_| | | | (_) | | (_| |  ___) | |_| |_| | (_| | | (_) |
 * -/_/   \_\_| |_|\__,_|_|  \___/|_|\__,_| |____/ \__|\__,_|\__,_|_|\___/
 *
 * You never know what you can do until you try !
 * ----------------------------------------------------------------
 * 描述：多图片叠放
 */
class DynamicCircleImagesAdapter(
    private val imageItems: List<String>  // 动态数量的图片数据
) : RecyclerView.Adapter<DynamicCircleImagesAdapter.ViewHolder>() {

    inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        val container: LinearLayout = itemView.findViewById(R.id.imageContainer)
    }

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
        val view = LayoutInflater.from(parent.context)
            .inflate(R.layout.item_dynamic_circle_images, parent, false)
        return ViewHolder(view)
    }

    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        // 清空容器，防止重复添加
        holder.container.removeAllViews()

        val images = imageItems.size  // 假设这是当前 Item 对应的所有图片

        imageItems.forEachIndexed { index, imageItem ->
            val imageView = ImageView(holder.itemView.context).apply {
                layoutParams =
                    LinearLayout.LayoutParams(SizeUtils.dp2px(15.0f), SizeUtils.dp2px(15.0f))
                        .apply {
                            // 关键：后面的图片向左偏移，覆盖前一张的 1/3
                            marginStart = if (index == 0) 0 else SizeUtils.dp2px(-6.0f)  // 负边距是关键！
                        }
                scaleType = ImageView.ScaleType.CENTER_CROP
                // 设置圆形背景（可选，如果不用 Glide 的话）
//                background = ContextCompat.getDrawable(holder.itemView.context, R.drawable.circle_background)
            }

            // 使用 Glide 加载图片并实现圆形裁剪（推荐 ✅）
            Glide.with(holder.itemView.context)
                .load(imageItem)  // 可以是 R.drawable.xxx、URL、File 等
                .circleCrop()             // ✅ 关键：让图片变成圆形
                .into(imageView)

            // 可选：设置 elevation 让上层图片在上
            imageView.elevation = ((images - index) * 2).toFloat()

            holder.container.addView(imageView)
        }
    }

    override fun getItemCount(): Int = 1  // 假设每个 item 对应一组动态图片
}
